# 定义libmodbus库头文件的路径
HEADERS_DIR := /home/dengxm2024/linuxProgDir/imx280astudy/userside_code/libmodbustest/libmodbus_install/include

# 添加头文件路径到编译器的搜索路径中
CFLAGS += -I$(HEADERS_DIR)

# 指定libmodbus库路径及库名称
LDFLAGS += -L$(CURDIR)/libmodbus_install/lib -lmodbus

# 指定编译器前缀
CC = $(CROSS_COMPILE)gcc

# 确保目标目录存在
#IMX28_exe_DIR := bin/
OBJ_DIR := $(CURDIR)
#$(shell mkdir -p $(IMX28_exe_DIR))

# 自动推导规则：从 .c 文件名推导出可执行文件名，并放在 $(IMX28_exe_DIR) 下
all: $(addprefix $(IMX28_exe_DIR), $(notdir $(basename $(wildcard *.c))))

# 规则：编译 .c 文件为可执行文件并放到 $(IMX28_exe_DIR) 下
$(IMX28_exe_DIR)%: $(OBJ_DIR)%.c
	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<

# 规则：编译 .c 文件为 .o 文件（这里保持不变，除非你需要将中间对象文件也放到特定目录）
$(OBJ_DIR)%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

# 清理目标
clean:
	rm -f $(IMX28_exe_DIR)* *.o 